using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace InventorySystem
{
    public class GameItemSpawner : MonoBehaviour
    {
        [SerializeField]
        private GameObject _itemBasePrefab;

        // 生成物品
        public void SpawnItem(ItemStack itemStack)
        {
            // 如果物品基础预制体为空，直接返回
            if (_itemBasePrefab == null) return;

            // 实例化物品基础预制体，并将其设置为当前对象的子对象
            var item = Instantiate(_itemBasePrefab, transform.position, Quaternion.identity);
            item.transform.SetParent(null);

            // 获取物品的GameItem组件
            var gameItemScript = item.GetComponent<GameItem>();

            // 设置堆叠数量和物品定义到GameItem组件
            gameItemScript.SetStack(new ItemStack(itemStack.Item, itemStack.NumberOfItems));

            // 抛掷物品（根据当前对象的缩放比例来确定抛掷方向）
            gameItemScript.Throw(transform.localScale.x);
        }
    }
}
